package com.pwt.entity;

import com.pwt.annotation.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import com.pwt.entity.base.BaseEntity;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;

import lombok.EqualsAndHashCode;
import lombok.Data;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import java.io.Serializable;


/**
 * 能力对象
 *
 * @author auto generated
 * @date 2021-12-17 11:08:55
 */
@EqualsAndHashCode()
@Data
@Entity
@Table(name = "[power_module]")
@Schema(name = "能力对象")
@DynamicInsert
@DynamicUpdate
public class PowerModule implements Serializable {

	@Id
	@GeneratedValue(generator="system_uuid")
	@GenericGenerator(name="system_uuid",strategy="uuid")
	@Column(name = "id")
	@Schema(description = "ID")
	@NotBlank(groups = Update.class,message = "修改时必传")
	protected String id;

	/**
	 * 机器编号
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "k0010",description = "机器编号")
	@Column(name = "k0010", nullable = true, length = 32)
	private Integer k0010;

	/**
	 * 顺序的零件号
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "k1000",description = "顺序的零件号")
	@Column(name = "k1000", nullable = true, length = 64)
	private Integer k1000;

	/**
	 * 零件编号
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "k1001",description = "零件编号")
	@Column(name = "k1001", nullable = true, length = 64)
	private String k1001;

	/**
	 * 零件名称
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "k1002",description = "零件名称")
	@Column(name = "k1002", nullable = true, length = 64)
	private String k1002;

	/**
	 * 订单编号
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "k0053",description = "订单编号")
	@Column(name = "k0053", nullable = true, length = 64)
	private String k0053;

	/**
	 * 合格被测参数数量
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "ok",description = "合格被测参数数量")
	@Column(name = "ok", nullable = true)
	private Integer ok=0;

	/**
	 * 不合格被测参数数量
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "nok",description = "不合格被测参数数量")
	@Column(name = "nok", nullable = true)
	private Integer nok=0;

	/**
	 * 部分合格被测参数数量
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "someok",description = "部分合格被测参数数量")
	@Column(name = "someok", nullable = true)
	private Integer someok=0;

	/**
	 * 测量值数量
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "[count]",description = "测量值数量")
	@Column(name = "[count]", nullable = true)
	private Integer count=0;

	/**
	 * 开始时间
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "beginTime",description = "开始时间")
	@Column(name = "begin_time", nullable = true)
	private java.util.Date beginTime;

	/**
	 * 结束时间
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "endTime",description = "结束时间")
	@Column(name = "end_time", nullable = true)
	private java.util.Date endTime;

	@Schema(name = "status",description = "0-未完成统计，1-完成统计")
	@Column(name = "status", nullable = true)
	private Integer status;

	/**
	 * 机器编号
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "k2005",description = "被测参数级别 重要级别 0-次重要的，1-略重要的，2-重要的，3-很重要的，4-关键的")
	@Column(name = "k2005", nullable = true, length = 32)
	private Short k2005;
}
